

'''
面向对象：
    类:为了将具有共同特征和行为的一组对象抽象定义
    对象：类的实例

    定义类：
        class 类名称():
            函数：定义行为
                对象函数：
                    默认参数 self ->self表示当前对象
                    必须通过对象才能调用该函数
                类函数:
                    使用装饰器@classmethod修饰函数
                    默认参数cls cls代表当前类
                    使用类 对象都可以调用类函数


                静态函数:
                    使用装饰器@staticmethod修饰函数
                    没有默认参数
                    使用类 对象都可以调用类函数


            属性：定义状态
                对象属性:
                    定义在init函数中 通过self指定
                    在创建对象的时候必须要指定和init对象个数相匹配的参数
                    self表示当前对象
                类属性：定义在类的内部 函数的外部
                        所有对象共享 对象不能修改类属性
                        可以通过类来获取和修改
'''

class Cart():
    #定义类属性
    name = "购物车"

    #对象属性
    def __init__(self,productName,count):
        self.productName= productName
        self.count = count
    def queryCart(self):#对象函数
        print("我的购物车当前商品为{},数量为{}".format(self.name,self.count))

    # @classmethod
    # def cartCls(cls):

    @staticmethod
    def staticMethod(name):
        print("静态函数{}".format(name))


if __name__ == '__main__':
    # 获取类属性
    print(Cart.name)
    # 修改类属性
    Cart.name = "购物袋"
    print(Cart.name)

    # 创建对象
    myCart = Cart("KAFEI",1)
    print(myCart.name)
    print(myCart.productName)

    # 创建对象
    myCart2 = Cart("茶叶", 1)
    print(myCart2.name)
    print(myCart2.productName)

    Cart.staticMethod("a")















